package com.cya.lotterysystem.common.pojo;

import com.cya.lotterysystem.common.errcode.ErrorCode;
import com.cya.lotterysystem.common.errcode.GlobalErrorCodeConstans;
import lombok.Data;
import org.springframework.util.Assert;

import java.io.Serializable;

/**
 * @author ：陈奕安（3048279304@qq.com）
 * @date ：Created in 2025/10/27 11:10
 * @description：
 * @modified By：
 * @version:
 */
@Data
public class CommonResult <T>implements Serializable {
    private Integer code;

    private  String msg;

    private T data;

     public static <T> CommonResult<T> success(T data){
         CommonResult<T> commonResult=new CommonResult<>();
         commonResult.code= GlobalErrorCodeConstans.SUCCESS.getCode();
         commonResult.data=data;
         commonResult.msg="";
         return commonResult;

     }

     public static  <T> CommonResult<T> error(Integer code, String msg){
         Assert.isTrue((!GlobalErrorCodeConstans.SUCCESS.getCode().equals(code)),
                 "code 不是错误的异常");
         CommonResult<T> result=new CommonResult<>();
         result.code=code;
         result.msg=msg;
         return result;
     }
     public static <T> CommonResult<T> error(ErrorCode errorCode){
         return error(errorCode.getCode(),errorCode.getMsg());
     }
}